package FinalDemo;

import java.sql.SQLOutput;


public class FinalDemo1 {
    public static void main(String[] args) {
        // 目标 ： 认识final关键字的作用
        // 认识角度 ： 类 / 方法 / 变量

        // Variable = 成员变量 + 局部变量
        // 成员变量 = 实例变量 + 静态变量

        // 局部变量
        final int a = 10;
        // a = 20 会报错
        // function(a) 也会报错 - 本质上是 n = a
    }


    // 局部变量
    public static void function(final int n) {
        System.out.println(n);

    }

    // 静态变量 -> 常量
    public static final int num = 10;

    // 实例变量
    private final String name = "猪刚烈";
}

// Class
final class A{
    // class B extends A{} 是无效的
}

// Method
class C{
    public final void show(){
        System.out.println("show方法是最终方法");
    }
}

class D extends C{
    // 此时show方法在D类中无法被重写
    /*
    @Override
    public void show(){
        System.out.println("show方法被重写");
    }
    */
}
